/**
 * Jan 2, 2012 7:25:59 AM
 * com.kratonsolution.cbs.security.dm
 * AccessRole.java
 */
package com.kratonsolution.belian.security.api.dm;

import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Type;

import com.kratonsolution.belian.kernel.dm.Model;

/**
 * @author Agung Dodi Perdana
 * @email agung.dodi.perdana@gmail.com
 * @Version Sinch 0.0.1
 */
@Entity
@Table(name="cbs_security_access_role")
@Cacheable
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
public class Role extends Model
{
    private static final long serialVersionUID = 467854868287895573L;
        
    @Column(name="code")
    private String code;
    
    @Column(name="name")
    private String name;
    
    @Column(name="note")
    private String note;
    
    @Column(name="removeable")
    @Type(type="yes_no")
    private boolean removeable;
    
    public Role(){}

    public String getCode()
    {
        return code;
    }

    public void setCode(String code)
    {
        this.code = code;
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getNote()
    {
        return note;
    }

    public void setNote(String note)
    {
        this.note = note;
    }

    public boolean isRemoveable()
    {
        return removeable;
    }

    public void setRemoveable(boolean removeable)
    {
        this.removeable = removeable;
    }
}
